package ${pPackage}.service;

import ${pPackage}.vo.${ClassName}VO;
import java.util.List;
import ${pPackage}.vo.resp.RespDataVO;

/**
 * @Description ${ClassName}Service
 * @Author ${author}
 * @Date ${createDate}
 */
public interface ${ClassName}Service {

        /**
         * 创建<#if table.comment!="">${table.comment}<#else>${ClassName}</#if>
         * @param ${ClassName?uncap_first}VO <#if table.comment!="">${table.comment}<#else>${ClassName}</#if>详情
         * @return 是否成功
         */
        Boolean create(${ClassName}VO ${ClassName?uncap_first}VO);

        /**
         * 删除<#if table.comment!="">${table.comment}<#else>${ClassName}</#if>
         * @param ${table.primaryKeyExt} ID
         * @return 是否成功
         */
        Boolean deleteById(${table.primaryKeyType} ${table.primaryKeyExt});

        /**
         * 批量删除<#if table.comment!="">${table.comment}<#else>${ClassName}</#if>
         * @param ids ID集合
         * @return 是否成功
         */
        Boolean batchDeleteByIds(List<Long> ids);

        /**
         * 更新<#if table.comment!="">${table.comment}<#else>${ClassName}</#if>
         * @param ${ClassName?uncap_first}VO <#if table.comment!="">${table.comment}<#else>${ClassName}</#if>详情
         * @return 是否成功
         */
        Boolean update(${ClassName}VO ${ClassName?uncap_first}VO);

        /**
         * 获取<#if table.comment!="">${table.comment}<#else>${ClassName}</#if>详情
         * @param ${table.primaryKeyExt} ID
         * @return <#if table.comment!="">${table.comment}<#else>${ClassName}</#if>详情
         */
        ${ClassName}VO get${ClassName}InfoById(${table.primaryKeyType} ${table.primaryKeyExt});

        /**
         * 获取<#if table.comment!="">${table.comment}<#else>${ClassName}</#if>详情列表
         * @param page 当前页
         * @param limit 每页大小
         * @param id ID
         * @return <#if table.comment!="">${table.comment}<#else>${ClassName}</#if>详情列表
         */
        RespDataVO<${ClassName}VO> get${ClassName}PageInfo(Integer page,Integer limit,String id);

}